using System;
using System.Collections.Generic;

namespace PluginFrame
{
	public interface IPcrDataFile
	{
		IPcrStructure CurrentPcrStructure { get; set; }

		List<IPcrStructure> PcrStructureList { get; }

		DateTime CreateTime { get; set; }

		DateTime ModificationTime { get; set; }

		string FilePath { get; set; }

		string DataFileFolder { get; set; }

		string ProjectFileFolder { get; set; }

		string PcrCfgFileFolder { get; set; }

		string ReportFileFolder { get; set; }

		IApplication Application { get; set; }

		bool IsNewPcrFile { get; set; }

		string Version { get; set; }

		bool IsChanged { get; set; }

		bool IsLoadingAfterExperiment { get; set; }

		LanguageStrings Language { get; set; }

		List<IPcrCell> GetAllPcrCellsInExperiment(string experimentName);

		IPcrExperiment FindExperiment(string experimentName);

		List<IPcrExperiment> GetPcrExperiments(bool isAvaibleExperiment);

		void AddPcrStructure(IPcrStructure pcrStructure);

		List<IPcrExperiment> GetExperimentsInSameGrid(IPcrExperiment originalExperiment);
	}
}
